昨天各位的 Telegram Bot 應該都有成功回復了吧。
那麼今天要來解釋一下昨天做了什麼,昨天好像就是申請完機器人,複製程式碼貼上之後,執行 Python 檔就成功了。
一切看似都沒有問題,但實際上問題大了。
前面我們 Line Bot 有講過需要設定 Webhook ,平台的伺服器才會知道訊息需要送到哪裡處裡,怎麼到了 Telegram 這裡就不需要了呢?難道 Telegram 有黑科技?不用設定也知道該如何送到我們這裡進行處裡?
當然不是,我們是使用了另一種方式,我們叫他 Long Polling , Long Polling 簡單說就是我們會定時去跟平台伺服器詢問有沒有新的資料。
那為什麼有這麼方便的機制我們在 Line Bot 還需要使用 Webhook 呢?
讓我們先來看看兩種機制的差異。
\ | Webhook | Long Polling |
---|---|---|
優點 | 及時、較省資源 | 不用設定 Webhook 測試較方便 |
缺點 | 需要設定 Webhook | 浪費資源、不夠即時 |
透過這個表格的比較,各位可以很清楚的瞭解這兩個機制的差異,因此我們在測試時可以使用 Long Polling ,測試時較方便,沒有 Domain 的也不需要再特別買個 Domain (或是特別弄 ngrok);Webhook 則是適合生產環境,即時回應並且節省資源。
那麼就先到這邊,明天會接著介紹 Telegram Bot 的訊息。
大家掰~掰~